﻿using SheepStorage.Domain.DTO.InputDto;
using SheepStorage.Domain.DTO.Output;
using SheepStorage.Domain.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SheepStorage.Service.Interface
{
    public interface ISheepRecordService
    {
        #region 羊只档案
        Task<int> AddSheepRecord(SheepRecord input);


        Task<SheepRecord> ShowSheepRecordDTO(int ids);

        Task<List<SheepRecordOutput>> GetSheepRecord(SheepRecordInput sheepRecordInput);

        Task<int> DelSheepRecord(string? ids);


        int MyGetSheepField(string buildingManagementName);


        List<SheepRecord> ShowSheepMom();

        List<SheepRecord> ShowSheepDad();

        #endregion

        Task<int> UpdateSheepRecordBreedState(string OverBitTolist, int state);

        Task<int> UpdateNewBuilding(string OverBitTolist, int BuildingId, int SheepFieldId);

        Task<List<SheepRecord>> SheepRecordList(int recordType, int breedState, int presentState, int growState);

        Task<int> UpdateSheepRecord(SheepRecord input);

        SheepRecord GetDs(string ov);


        Task<List<SheepRecord>> GetSheepRecordAll();
    }
}
